﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ParamsDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.首先创建数组，然后把数组交给方法执行（比较麻烦）
            int[] items = new int[] { 5, 8, 3, 18 };
             Console.WriteLine("传统方式执行的结果{0}", Add(items));
            
            //2.当被调用方法的参数加入params关键字后，那么我们就可以直接赋值多个元素，接下来有编译器来将其组装成数组（灵活）
             Console.WriteLine("变长数组方式执行的结果{0}", Add(5, 8, 3, 18));

            Console.ReadLine();
        }

        //注意下面参数前面的关键字params，此为变长数组的关键字
        public static int Add(params int[] input)
        {
            int result= 0;
            if (input != null)
            {
                for (int i = 0; i < input.Length; i++)
                {
                    result += input[i];
                }
            }

            return result;
        }
    }
}
